The invention relates generally to distributed computing environments, and more particularly to a server-client environment involving a system and method to manage distribution and allocation of applications, including applets, between servers and client computers.
In a computing environment involving server computers and client computers, application processing is distributed and shared among both the server and client computers. Certain applications such as applets are widely used in a distributed computing environment and are generally downloaded from server computers onto client computers where the applications are run and then possibly stored for future use by caching the downloaded application files on the hard disk drive or other storage device of the client computer.
Applets were originally intended to be small sized applications having few files that could be quickly downloaded and used by any client computer equipped with a browser display program configured for particular software languages such as Java. The size of applications such as applets has increased, with applets having more and larger files. Software engineers have found that placing many program functions which provide many user features in one applet as opposed to using many applets with few program functions reduces complexities involved with applet management such as caching, referencing, and initiating applet functions. However, increasing applet size has consequently increased download times to an adverse degree.
A solution to the increased download times has been to package all the applet application files into one compressed file such as a cabinet or jar file for Java class files. The compressed package of files being smaller in size and in one package has reduced download times dramatically for comparably sized applet applications. To accommodate the compressed applet file packages, browsers have been designed to receive and cache compressed file packages such as cabinet files.
Unfortunately, packaging of applet files into one compressed package per applet has caused other problems. In order to use a desired feature of an applet, browsers must download and cache the entire compressed applet package. As a result, even if a user only uses one feature of a multi-featured applet, all files associated with all features of the applet are downloaded and cached by the browser onto the client computer. The many files that never are used needlessly cause delays in downloading and occupying valuable storage space on the client computer. One multi-function applet with its files contained in one compressed package could be broken into many applets, each having their files contained in separate compressed packages; however, the advantages related to applet management gained by grouping many functions under one applet would be lost. For instance, once a number of applets are separately cached, it is difficult to later use all of the applets in a single application.
The present invention resides in a method and system for secure duplex browser communication over disparate networks. Aspects of the method and system include a communication system comprising a server computer system, a client computer system communicatively linked to the server computer system, a core collection of compressed files, and component collections of compressed files. The server computer system includes a server storage. The client computer system comprises a client storage and a browser program.
More aspects include the browser program being configured to download to the client computer system markup language based pages from the server computer system over the communication network. The browser program is further configured to display information contained in the downloaded markup language based pages, to execute applets contained in the downloaded markup language based pages, and to store files contained in the downloaded markup language based pages on the client storage based upon markup language based tags found on the markup language based pages.
Further aspects include the core collection of compressed files being embedded in a markup language based core page and contains core applet files configured to execute with the browser program on the client computer system to provide features including a menu to select additional features where the menu is displayed by the browser program. The core collection of compressed files further contains markup language based tags with storage details concerning the core collection of compressed files. The storage details include type of storage location in the client storage where the browser program is to store the core collection of compressed files to override default storage details of the browser program. The core collection of compressed files is to be downloaded between the server computer system and the client computer system via the communication network by the browser program.
Other aspects include the component collections of compressed files being embedded in a markup language based component page and containing component files configured to execute with the core collection of compressed files and with the browser program on the client computer system. Each component collection of compressed files are configured to provide one or more of the additional features and contain markup language based tags with storage details concerning that component collection of compressed files.
Additional aspects involve the storage details including type of storage location in the client storage where the browser program is to store the component collection of compressed files to override default storage details of the browser program. The component collection of compressed files is to be downloaded between the server computer system and the client computer system via the communication network by the browser program after selection is made from the menu displayed by the browser program of at least one of the additional features for which the component collection of compressed files is configured to provide.